# 打印帮助信息
usage() {
	cat >&1 <<-EOF
	
	请使用: $0 <option>

	可使用的参数 <option> 包括:

	    install          安装
	    uninstall        卸载
	    update           检查更新
	    help             查看脚本使用说明
	EOF

	exit $
}
# 检查是否已安装
is_installed(){
	echo "检查是否已安装..."
	# return 0表示已安装，1表示未安装
	return 0
}

# 安装检查
installed_check() {
	if is_installed; then
		cat >&1 <<-EOF
		检测到你已安装......
		EOF
		while true
		do
			cat >&1 <<-'EOF'
			请选择对应操作:
			(1) 覆盖安装
			(2) 重新配置
			(3) 检查更新
			(4) 查看配置
			(5) 完全卸载
			(6) 退出脚本
			EOF
			read -p "(默认: 1) 请选择 [1~6]: " sel
			[ -z "$sel" ] && sel=1

			case $sel in
				1)
					echo "开始覆盖..."
					# return 0 之后会继续执行下面的函数
					return 0
					;;
				2)
					echo "重新配置..."
					;;
				3)
					echo "检查更新..."
					do_update
					;;
				4)
					echo "查看配置.."
					do_update
					;;
				5)
					echo "完全卸载.."
					do_uninstall
					;;
				6)
					echo "退出脚本.."
					;;
				*)
					echo "输入有误, 请输入有效数字 1~6!"
					continue
					;;
			esac
			exit 0
		done
	fi
}
# 开始安装
install_app(){
	echo "开始安装....."
}

# 安装命令
do_install(){
	# 检查root权限
	check_root
	# 检查是否已安装
	installed_check
	# 安装
	install_app
	
	cat >&1 <<-EOF
	恭喜! 服务端安装成功。
	更多使用说明: ${0} help

	如果这个脚本帮到了你，你可以请作者喝瓶可乐:
	 https://blog.csdn.net/junmoxi/
	EOF
}
do_uninstall(){
	echo "开始卸载....."
}
do_update(){
	echo "开始更新....."
}

# 程序进入后的执行函数
action=${1:-"install"}
case "$action" in
	install|uninstall|update)
		do_${action}
		;;
	help)
		usage 0
		;;
	*)
		usage 1
		;;
esac